package team.bluepen.supermarket.data.dao.abstraction;

import team.bluepen.supermarket.constant.Error;
import team.bluepen.supermarket.data.entity.HbaseItem;

import java.util.List;

/**
 * 数据插入接口
 * @param <T> 需要操作的表对应数据实体类
 * @author Kai
 */
public interface InsertOperate<T extends HbaseItem<T>> {
    /**
     * 插入数据
     * @param family 列族
     * @param row 列
     * @param qualifier 限定符
     * @param value 值
     * @return {@link Error}
     */
    Error insert(String family, String row, String qualifier , String value);

    /**
     * 插入数据
     * @param t 实体类
     * @return {@link Error}
     */
    Error insert(T t);

    /**
     * 插入数据
     * @param tList 实体类集合
     * @return {@link Error}
     */
    Error insert(List<T> tList);

}
